package com.ruoyi.pyo.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品对象 pet_yeah_goods
 * 
 * @author ruoyi
 * @date 2025-11-19
 */
@TableName("pet_yeah_goods")
public class PetYeahGoods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 商品标题 */
    @Excel(name = "商品标题")
    private String goodsName;

    /** 商品封面 */
    @Excel(name = "商品封面")
    private String goodsCover;

    /** 商品分类 */
    @Excel(name = "商品分类")
    private Long goodsDictCode;

    /** 商品描述内容 */
    @Excel(name = "商品描述内容")
    private String describeContent;

    /** 交易价 */
    @Excel(name = "交易价")
    private BigDecimal tradePrice;

    /** 商品属性，非主属性都在这里，对于商城商品新增 `spec_values` JSON NOT NULL COMMENT '规格值JSON，如 {"尺寸": "福特福睿斯【15-18款】", "型号": "高品质【前刷一对】两支装"}', */
    @Excel(name = "商品属性，非主属性都在这里")
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private String attrs;

    /** 状态（0正常 1停用）可用作上下架 */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }

    public void setGoodsCover(String goodsCover) 
    {
        this.goodsCover = goodsCover;
    }

    public String getGoodsCover() 
    {
        return goodsCover;
    }

    public void setGoodsDictCode(Long goodsDictCode) 
    {
        this.goodsDictCode = goodsDictCode;
    }

    public Long getGoodsDictCode() 
    {
        return goodsDictCode;
    }

    public void setDescribeContent(String describeContent) 
    {
        this.describeContent = describeContent;
    }

    public String getDescribeContent() 
    {
        return describeContent;
    }

    public void setTradePrice(BigDecimal tradePrice) 
    {
        this.tradePrice = tradePrice;
    }

    public BigDecimal getTradePrice() 
    {
        return tradePrice;
    }

    public void setAttrs(String attrs) 
    {
        this.attrs = attrs;
    }

    public String getAttrs() 
    {
        return attrs;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("goodsName", getGoodsName())
            .append("goodsCover", getGoodsCover())
            .append("goodsDictCode", getGoodsDictCode())
            .append("describeContent", getDescribeContent())
            .append("tradePrice", getTradePrice())
            .append("attrs", getAttrs())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
